#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2022/11/2 14:56
# @Author  : 招财大龙猫
# @File    : port_client.py
# @Description : tcp 客户端
import json
import socket


class MyClient(object):
    def __init__(self, obj):  # 接收一个socket实例化的对象
        self.conn = obj

    def handle(self, ip, port):  # 定义一个数据交互的方法

        self.conn.connect((ip, port))  # 绑定链接，其它把它放在init方法里是不是会更好？

        while True:
            # 循环发送、接收数据
            cmd = input('输入转换的字符，exit退出！')

            if cmd.strip().lower() == 'exit':  # 如果输入EXIT退出
                print('退出！')
                break

            self.conn.send(json.dumps(cmd).encode())  # 发送输入的数据

            recv_data = self.conn.recv(1024)  # 接收服务器转换后的数据

            data = json.loads(recv_data.decode())  # json解码

            print('转换的：{}'.format(data))


if __name__ == '__main__':
    my_socket = socket.socket()  # 实例化socket对象
    my_client = MyClient(my_socket)  # 实例化自定义类，并传入实例化的socket对象
    my_client.handle("localhost", 9999)  # 调用数据交互方法
